A variety of mechanisms are available to help users search and navigate electronic information. For example, many electronic resources employ a search engine to help users locate information. To locate information on a particular topic, a search engine allows users to submit one or more search query terms related to a topic of interest. In response, the search engine executes the search query, consults its indexes, and generates information about the results of the search. The information about the results of the search, referred to herein as the “search results”, usually contains a list of resources that satisfy the search query and some attributes of those sources.
While search engines may be applied in a variety of contexts, one common use is navigating through document repositories by searching for documents of interest. Therefore, web search engines are especially useful for locating resources that are accessible on the Internet, as the Internet can be thought of as a large repository of resources. Many searching techniques are used by Internet search engines to populate their indexes and organize them in searchable ways. For example, an Internet search engine might read or “crawl” pages on the Internet to create entries for its search index, and then use that index when determining which pages are relevant to a search query. Accordingly, current web search engines have very large document indexes, which means that the web search engines can provide deep coverage of Internet resources.
The resources identified in Internet search results often include files whose content is composed in a page description language such as Hypertext Markup Language (HTML). Such files are typically called web pages. Using a web browser, a web page may be retrieved by entering its Universal Resource Locator (URL) in a web browser. A URL is basically the electronic address of a web page. Internet search results may therefore be presented to a user as a list of hypertext links to the URLs of matching resources. Users retrieve a document or resource of interest found in a search by selecting, in a web browser, the resource's hypertext link or URL found in the search results.
Unfortunately, search results may contain many irrelevant results that are returned based merely on the keywords the user submitted to the search engine. As a result, the search results do not return what the user was really looking for. Basically, search engines do not consider the keywords in their context. For example, suppose a user wants to find out information about a book, but the user only knows a few words from it (e.g., “It was the best of times.”). Since, search engines rely almost exclusively on search terms provided by the user to find and display information to the user, the search results suggested by a search engine are heavily based on the search terms and do not take into account context and other forms of data that may be useful in helping a user find relevant information on the web. Thus, submitting the phrase “it was the best of times” may bring up thousands of irrelevant search results that have nothing to do with Charles Dickens or the book “Tale of Two Cities.”
The approaches described in the section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.